/**
 * MarioAI
 * @extends UTBot
 * @version 2010.12.03
 */

class MarioAI extends UTBot abstract;

var Actor           Destination;
var MarioEnemy      MyPawn;
var Pawn            thePlayer;

var float           perceptionDistance, distanceToPlayer;
var Vector          v, loc;
var int             move;
var bool            hit;
var Vector          movement;

var (Turtle) array<NavigationPoint> MyNavigationPoints;
var NavigationPoint                 MyNextNavigationPoint;

/**
 * ExecuteWhatToDoNext
 * @version 2010.12.03
 */
protected event ExecuteWhatToDoNext()
{   
	GotoState('Patrolling');
}

function ThrowWeaponOnDeath() { }
state Patrolling {	}

/**
 * SetPawn
 * @version 2010.12.03
 */
function SetPawn(MarioEnemy NewPawn)
{
	MyPawn = NewPawn;
	Possess(MyPawn, false);
	Mypawn.ClientMEssage("PosessCalled.");
	
	//TODO: typo
	MyNavigationPoints = MyPawn.MyPatrollPoints;
}

/* (Simple) Getters/Setters */
//TODO: rename to SetMovement
function setMove(Vector m) { movement = m; }

defaultproperties
{
	bBlockActors = TRUE;
	
	Physics              = PHYS_Falling;
	CustomGravityScaling = 0.20;
	
	hit  = FALSE;
	move = 0;
	perceptionDistance = 300.0;
	MinHitWall = 0.0f;
}